As data storage systems increase in size and complexity, the need for the systems to be protected against failure becomes more critical. Typical protection against failure, as is known in the art, consists of incorporating redundancy into input/output (I/O) operations. For example, a first and a second processing unit within a storage system may be configured to perform a write operation. If the write operation is performed by the first processing unit, but the operation fails to complete successfully, the second processing unit may be configured to automatically take over the operation. The second processing unit then completes the operation, and may be configured to automatically continue to operate in place of the first processing unit. A storage system is typically configured to perform its I/O operations without interaction between the system and an operator of the system.